A new group of distributed storage systems known as NoSQL data stores have rapidly emerged in the past decade for handling data in large-scale applications such as online gaming and product recommendations. Among various distributed storage systems, key-value (KV) stores are one of the most popular type of distributed data stores, due to their strength of performance as well as their scalability and fault tolerance. Exemplary key-value (KV) stores systems include Bigtable, Redis, DynamoDB, and RAMCloud. Recent advances on KV stores have made possible the utilization of secondary indexes to enrich their features, i.e., supporting multiple data models and enabling rich queries via attributes other than the primary key.
Against the backdrop of these advancements, and with frequent incidents of massive data breaches, privacy concerns are becoming increasingly serious with large volumes of data stored in distributed KV stores such as in public cloud or private data warehouses. Indeed, these distributed KV stores do not provide a strong protection for data confidentiality. Conventional security mechanisms for KV stores mainly rely on access control that specifies the access scope at user or group levels, or transparent server-side encryption that asks the servers (not the data owners) to encrypt data. These mechanisms cannot provide full protection against serious threats of data theft.
There is a need to provide a method and related system that can provide a more secure and efficient key-value (KV) store.